{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Lecture 17 - Advanced Curve Fitting: Multivariate Gaussian Process Regression and Automatic Relevance Determination"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\newcommand{\\x}{\\mathbf{x}}\n",
    "\\newcommand{\\z}{\\mathbf{z}}\n",
    "\\newcommand{\\y}{\\mathbf{y}}\n",
    "\\newcommand{\\W}{\\mathbf{W}}\n",
    "\\newcommand{\\R}{\\mathbb{R}}\n",
    "\\newcommand{\\E}{\\mathbf{E}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "np.set_printoptions(suppress=True)\n",
    "import pandas as pd\n",
    "import os\n",
    "import scipy\n",
    "import scipy.stats as st\n",
    "\n",
    "import GPy\n",
    "from GPy.kern import Kern\n",
    "from GPy.core.parameterization import Param\n",
    "import pyDOE\n",
    "from sklearn.utils import shuffle\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "import wget\n",
    "import pyDOE\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Objectives\n",
    "\n",
    "+ To demonstrate GP regression with multiple inputs.\n",
    "+ To highlight how GP regression does automatic relevance determination.\n",
    "+ To discuss the curse of dimensionality in the context of GP regression and some ways of dealing with it (active subspaces and high-dimensional model representation)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Readings\n",
    "\n",
    "+ [Rasmussen Gaussian process textbook](http://www.gaussianprocess.org/gpml/chapters/).\n",
    "+ [Active subspace paper (Constantine)](https://epubs.siam.org/doi/pdf/10.1137/130916138).\n",
    "+ [High-dimensional model representation paper](https://pubs.acs.org/doi/pdf/10.1021/jp010450t).\n",
    "\n",
    "## Additional readings \n",
    "+ [Many physical laws are ridge functions.](https://arxiv.org/pdf/1605.07974.pdf)\n",
    "+ [Additive Gaussian processes paper](https://papers.nips.cc/paper/4221-additive-gaussian-processes.pdf)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Multivariate Gaussian Process Regression\n",
    "\n",
    "When we say \"multivariate\" here we refer to many function inputs, not outputs.\n",
    "This just means that the input of the function we are interested in learning is a vector $\\mathbf{x}$ in $\\mathbb{R}^D$.\n",
    "In that regard, nothing really changes compared to one-input GPR.\n",
    "The formulas are exactly the same.\n",
    "However, in higher dimensional settings one must pay attention to the selection of the covariance function.\n",
    "\n",
    "Let's demonstrate this using an example.\n",
    "Here is an analytical function, known as the Branin-Hoo function:\n",
    "$$\n",
    "f(\\mathbf{x}) = f(x_1,x_2) = \\frac{1}{51.95}\\left[\\left(15x_2 - \\frac{5.1(15x_1)^2}{4\\pi^2} + \\frac{75x_1}{\\pi} - 6\\right)^2 + \\left(10 - \\frac{10}{8\\pi}\\right)\\cos(15x_1)-44.81\\right]\n",
    "$$\n",
    "We will use this function to generate some synthetic data.\n",
    "Let's superimpose the synthetic data on a contour of this function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Define the function\n",
    "def f_branin(x):\n",
    "    \"\"\"\n",
    "    Input must be 2D array of size N x 2.\n",
    "    \"\"\"\n",
    "    return 1.0 / 51.95 * ((15.0 * x[:, 1] - 5.1 * (15.0 * x[:, 0]) ** 2 / 4.0 / np.pi ** 2 + \n",
    "                          75.0 * x[:, 0] / np.pi - 6.0) ** 2\n",
    "                         + (10.0 - 10.0 / 8.0 / np.pi) * np.cos(15.0 * x[:, 0]) - 44.81)\n",
    "\n",
    "# Generate synthetic data\n",
    "N = 30\n",
    "Xdata = pyDOE.lhs(2, N)\n",
    "sigma = 0.01\n",
    "Ydata = f_branin(Xdata)[:, None] + sigma * np.random.randn(N, 1)\n",
    "\n",
    "# Plot the contour and the observations\n",
    "fig = plt.figure( figsize=(12, 8) )\n",
    "ax = plt.subplot(111)\n",
    "x1 = np.linspace(0, 1, 100)\n",
    "x2 = np.linspace(0, 1, 100)\n",
    "X1, X2 = np.meshgrid(x1, x2)\n",
    "_Xs = np.vstack([X1.flatten(), X2.flatten()]).T\n",
    "Y = f_branin(_Xs).reshape((100, 100))\n",
    "\n",
    "c = ax.contourf(X1, X2, Y, 30, cmap='plasma')\n",
    "plt.colorbar(c)\n",
    "ax.plot(Xdata[:, 0], Xdata[:, 1], 'o', color='black',  markersize=10)\n",
    "ax.tick_params(labelsize=20)\n",
    "\n",
    "ax.set_xlabel('$x_1$', fontsize=15)\n",
    "ax.set_ylabel('$x_2$', fontsize=15)\n",
    "\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will be using a the squared exponential covariance function for a regression along with a zero mean.\n",
    "So our prior GP is:\n",
    "$$\n",
    "f(\\cdot)\\sim\\operatorname{GP}(0, k(\\cdot,\\cdot)),\n",
    "$$\n",
    "with\n",
    "$$\n",
    "k(\\mathbf{x}, \\mathbf{x}') = s^2\\exp\\left(-\\frac{(x_1-x_1')^2}{2\\ell_1}-\\frac{(x_2-x_2')^2}{2\\ell_2}\\right).\n",
    "$$\n",
    "The first, situation we are going to examin is when the lengthscales are the same:\n",
    "$$\n",
    "\\ell_1 = \\ell_2.\n",
    "$$\n",
    "This is what you get by default from ``GPy``:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 36.21481602345046\n",
      "Number of Parameters : 3\n",
      "Number of Optimization Parameters : 3\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |  value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |    1.0  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |    1.0  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |    1.0  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "k = GPy.kern.RBF(2) # The 2 here is for the dimensionality of the input space\n",
    "gp = GPy.models.GPRegression(Xdata, Ydata, k)\n",
    "print(gp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/10, f = 6.302554191532174\n",
      "Optimization restart 2/10, f = 6.302554190757714\n",
      "Optimization restart 3/10, f = 6.302554190759263\n",
      "Optimization restart 4/10, f = 6.3025541907873865\n",
      "Optimization restart 5/10, f = 6.302554190757888\n",
      "Optimization restart 6/10, f = 6.302554190757993\n",
      "Optimization restart 7/10, f = 12.670243069415221\n",
      "Optimization restart 8/10, f = 6.302554190765116\n",
      "Optimization restart 9/10, f = 6.302554190757768\n",
      "Optimization restart 10/10, f = 6.302554190767829\n"
     ]
    }
   ],
   "source": [
    "# perform the optimization \n",
    "_ = gp.optimize_restarts(robust=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 8.417302925217406\n",
      "Number of Parameters : 3\n",
      "Number of Optimization Parameters : 3\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |                   value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |      0.7390604626096717  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |     0.22047712860337196  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |  2.6291859896970885e-11  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# print out the model details \n",
    "print(gp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  \u001b[1mindex\u001b[0;0m  |  GP_regression.rbf.lengthscale  |  constraints  |  priors\n",
      "  \u001b[1m[0]  \u001b[0;0m  |                     0.32584691  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# check the lengthscale \n",
    "print(gp.kern.lengthscale)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Make predictions\n",
    "Ypred_flat, Yvar_flat = gp.predict( _Xs )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x720 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# start a new figure\n",
    "fig = plt.figure( figsize=(12, 10) )\n",
    "\n",
    "#plot the contour of the predictions (Compare to contour of true values above)\n",
    "ax = plt.subplot(221)\n",
    "ax.tick_params(axis='both', labelsize=15)\n",
    "Ypred = Ypred_flat.reshape( (100, 100) )\n",
    "im = ax.contourf(X1, X2, Ypred, 30, cmap='plasma')\n",
    "c = plt.colorbar(im, ax=ax)\n",
    "c.ax.tick_params(labelsize=12)\n",
    "ax.plot(Xdata[:, 0], Xdata[:, 1], 'o', color='black', markersize=8)\n",
    "ax.set_xlabel('$x_1$', fontsize=15)\n",
    "ax.set_ylabel('$x_2$', fontsize=15)\n",
    "ax.set_title('Predictions', fontsize=15)\n",
    "\n",
    "# Let's also plot the contour of the error\n",
    "ax = plt.subplot(222)\n",
    "ax.tick_params(axis='both', labelsize=15)\n",
    "E = np.abs(Y - Ypred)\n",
    "ax.plot(Xdata[:, 0], Xdata[:, 1], 'o', color='black', markersize=8)\n",
    "im = ax.contourf(X1, X2, E, 30, cmap='plasma')\n",
    "c = plt.colorbar(im, ax=ax)\n",
    "c.ax.tick_params(labelsize=15)\n",
    "ax.set_xlabel('$x_1$', fontsize=12)\n",
    "ax.set_ylabel('$x_2$', fontsize=12)\n",
    "ax.set_title('Error', fontsize=12)\n",
    "\n",
    "# And let's compare the error plot to 2 x the predictive standard deviation\n",
    "ax = plt.subplot(212)\n",
    "ax.tick_params(axis='both', labelsize=15)\n",
    "\n",
    "im = ax.contourf(X1, X2, 2.0 * np.sqrt(Yvar_flat.reshape(X1.shape)), 30, cmap='plasma')\n",
    "c = plt.colorbar(im, ax=ax)\n",
    "c.ax.tick_params(labelsize=15)\n",
    "\n",
    "ax.plot(Xdata[:, 0], Xdata[:, 1], 'o', color='black', markersize=8)\n",
    "ax.set_xlabel('$x_1$', fontsize=12)\n",
    "ax.set_ylabel('$x_2$', fontsize=12)\n",
    "\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's get some test data and make some predictions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.21939265837281627\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ntest = 100\n",
    "Xtest = pyDOE.lhs(2, Ntest)\n",
    "Ytest = f_branin(Xtest)[:, None] \n",
    "Ytest_m, Ytest_v = gp.predict(Xtest, full_cov=False) \n",
    "error_m = np.sqrt( mean_squared_error(Ytest, Ytest_m) )\n",
    "\n",
    "fig = plt.figure(figsize = (10, 8))\n",
    "ax  = plt.subplot(111)\n",
    "\n",
    "_x = np.linspace( np.min(Ytest), np.max(Ytest), 100 )\n",
    "ax.plot(_x, _x, 'r--', label='$x=y$')\n",
    "ax.plot(Ytest, Ytest_m, 'o')\n",
    "ax.set_title('Predictions vs True test values', fontsize=15)\n",
    "ax.set_xlabel('Test labels', fontsize=15)\n",
    "ax.set_ylabel('Predictions', fontsize=15)\n",
    "ax.tick_params( labelsize=15 )\n",
    "\n",
    "fig.tight_layout()\n",
    "print(error_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's repeat the same analysis but allowing for a different lengthscale per input.\n",
    "First, we set up and train the model:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 36.21481602345046\n",
      "Number of Parameters : 4\n",
      "Number of Optimization Parameters : 4\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |  value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |    1.0  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |   (2,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |    1.0  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "k = GPy.kern.RBF(2, ARD=True) # The ARD = True is what makes GPy understand that there is\n",
    "                              # one lengthscale per dimension\n",
    "gp = GPy.models.GPRegression(Xdata, Ydata, k)\n",
    "print(gp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that you now cannot see what the lengthscale values are.\n",
    "You need to do this to see them:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And you can train the model as usual:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/10, f = -9.0503816972697\n",
      "Optimization restart 2/10, f = -9.05038169677891\n",
      "Optimization restart 3/10, f = 21.01374359268413\n",
      "Optimization restart 4/10, f = -9.050381696916585\n",
      "Optimization restart 5/10, f = -9.050381673681159\n",
      "Optimization restart 6/10, f = -6.487303144500904\n",
      "Optimization restart 7/10, f = -6.487255065074473\n",
      "Optimization restart 8/10, f = -6.487299163327851\n",
      "Optimization restart 9/10, f = -9.050381696463791\n",
      "Optimization restart 10/10, f = -9.05038169672316\n",
      "\n",
      "Name : GP regression\n",
      "Objective : -9.0503816972697\n",
      "Number of Parameters : 4\n",
      "Number of Optimization Parameters : 4\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |                  value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |      17.92081092871893  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |                   (2,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |  6.998468524554188e-05  |      +ve      |        \n",
      "  \u001b[1mindex\u001b[0;0m  |  GP_regression.rbf.lengthscale  |  constraints  |  priors\n",
      "  \u001b[1m[0]  \u001b[0;0m  |                     0.25932724  |      +ve      |        \n",
      "  \u001b[1m[1]  \u001b[0;0m  |                     1.23177532  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "gp.optimize_restarts( robust=True ) # No messages shown here\n",
    "print(gp)\n",
    "print(gp.rbf.lengthscale)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, you see that the lengthscale assigned to $x_1$ is slightly bigger than the lengthscale assigned to $x_2$. This means that the first input is slightly more important than the second input.\n",
    "This is the automatic relevance determination (ARD) in action.\n",
    "\n",
    "Now let's try to make some predictions with the ARD version of the GP regression model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.046706270124507544\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ntest = 100\n",
    "Xtest = pyDOE.lhs(2, Ntest)\n",
    "Ytest = f_branin(Xtest)[:, None] \n",
    "Ytest_m, Ytest_v = gp.predict(Xtest, full_cov=False) \n",
    "error_m = np.sqrt( mean_squared_error(Ytest, Ytest_m) )\n",
    "\n",
    "fig = plt.figure(figsize = (10, 8))\n",
    "ax  = plt.subplot(111)\n",
    "\n",
    "_x = np.linspace( np.min(Ytest), np.max(Ytest), 100 )\n",
    "ax.plot(_x, _x, 'r--', label='$x=y$')\n",
    "ax.plot(Ytest, Ytest_m, 'o')\n",
    "ax.set_title('Predictions vs True test values', fontsize=15)\n",
    "ax.set_xlabel('Test labels', fontsize=15)\n",
    "ax.set_ylabel('Predictions', fontsize=15)\n",
    "ax.tick_params( labelsize=15 )\n",
    "\n",
    "fig.tight_layout()\n",
    "print(error_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's add a third dimension to the Branin function, $x_3$, such that $f$ has a weak linear dependence on $x_3$. \n",
    "\n",
    "The added term is highlighted in blue.\n",
    "\n",
    "$$\n",
    "f(\\mathbf{x}) = f(x_1,x_2, x_3) = \\frac{1}{51.95}\\left[\\left(15x_2 - \\frac{5.1(15x_1)^2}{4\\pi^2} + \\frac{75x_1}{\\pi} - 6\\right)^2 + \\left(10 - \\frac{10}{8\\pi}\\right)\\cos(15x_1)-44.81\\right] + \\color{blue}{0.1 x_3}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the function\n",
    "def f_branin_1(x):\n",
    "    \"\"\"\n",
    "    Input must be 2D array of size N x 2.\n",
    "    \"\"\"\n",
    "    return (1.0 / 51.95 * ((15.0 * x[:, 1] - 5.1 * (15.0 * x[:, 0]) ** 2 / 4.0 / np.pi ** 2 + \n",
    "                          75.0 * x[:, 0] / np.pi - 6.0) ** 2\n",
    "                         + (10.0 - 10.0 / 8.0 / np.pi) * np.cos(15.0 * x[:, 0]) - 44.81)) + (0.1*x[:, 2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's generate some synthetic data and train a GP model with ARD. Let's see if we can discover the weak dependence of $f$ on the newly added 3rd dimension. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 48.34617205826517\n",
      "Number of Parameters : 5\n",
      "Number of Optimization Parameters : 5\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |  value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |    1.0  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |   (3,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |    1.0  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# Generate synthetic data\n",
    "N    = 40\n",
    "ndim = 3\n",
    "Xdata = pyDOE.lhs(ndim, N)\n",
    "\n",
    "# We will also be adding a little bit of noise to the observations\n",
    "sigma = 0.01\n",
    "Ydata = f_branin_1(Xdata)[:, None] + sigma * np.random.randn(N, 1)\n",
    "\n",
    "k = GPy.kern.RBF(ndim, ARD=True) \n",
    "gp = GPy.models.GPRegression(Xdata, Ydata, k)\n",
    "print(gp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/10, f = -29.06546350039129\n",
      "Optimization restart 2/10, f = -28.79443318361305\n",
      "Optimization restart 3/10, f = -28.79443317046234\n",
      "Optimization restart 4/10, f = -29.065463500811134\n",
      "Optimization restart 5/10, f = -29.06546350051758\n",
      "Optimization restart 6/10, f = -28.794433189795456\n",
      "Optimization restart 7/10, f = -28.794433143181124\n",
      "Optimization restart 8/10, f = -28.794433179397743\n",
      "Optimization restart 9/10, f = -28.79443317565668\n",
      "Optimization restart 10/10, f = -28.794433179368184\n",
      "  \u001b[1mindex\u001b[0;0m  |  GP_regression.rbf.lengthscale  |  constraints  |  priors\n",
      "  \u001b[1m[0]  \u001b[0;0m  |                     0.25323123  |      +ve      |        \n",
      "  \u001b[1m[1]  \u001b[0;0m  |                     0.77407413  |      +ve      |        \n",
      "  \u001b[1m[2]  \u001b[0;0m  |                    30.01765487  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# train the GP\n",
    "gp.optimize_restarts(10, robust=True); # No messages shown here\n",
    "print(gp.rbf.lengthscale)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice from the results above that the lengthscale in the 3rd dimension is very large relative to the lengthscales along the 1st and 2nd dimensions. \n",
    "This means that our trained GP model depends very weakly on $x_3$. Clearly, we are able to capture the weak dependence of $f$ on $x_3$. \n",
    "\n",
    "Let's make some predictions on the test data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.028841914006626692\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ntest = 100\n",
    "Xtest = pyDOE.lhs(3, Ntest)\n",
    "Ytest = f_branin_1(Xtest)[:, None] \n",
    "Ytest_m, Ytest_v = gp.predict(Xtest, full_cov=False) \n",
    "error_m = np.sqrt( mean_squared_error(Ytest, Ytest_m) )\n",
    "\n",
    "fig = plt.figure(figsize = (10, 8))\n",
    "ax  = plt.subplot(111)\n",
    "\n",
    "_x = np.linspace( np.min(Ytest), np.max(Ytest), 100 )\n",
    "ax.plot(_x, _x, 'r--', label='$x=y$')\n",
    "ax.plot(Ytest, Ytest_m, 'o')\n",
    "ax.set_title('Predictions vs True test values', fontsize=15)\n",
    "ax.set_xlabel('Test labels', fontsize=15)\n",
    "ax.set_ylabel('Predictions', fontsize=15)\n",
    "ax.tick_params( labelsize=15 )\n",
    "\n",
    "fig.tight_layout()\n",
    "print(error_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's add a fourth dimension to the Branin function, $x_4$, such that $f(x_1, x_2, x_3, x_4) = f(x_1, x_2, x_3)$, i.e., $f$ does not actually depend on $x_4$. \n",
    "\n",
    "\n",
    "$$\n",
    "f(\\mathbf{x}) = f(x_1,x_2, x_3, x_4) = \\frac{1}{51.95}\\left[\\left(15x_2 - \\frac{5.1(15x_1)^2}{4\\pi^2} + \\frac{75x_1}{\\pi} - 6\\right)^2 + \\left(10 - \\frac{10}{8\\pi}\\right)\\cos(15x_1)-44.81\\right] + \\color{blue}{0.1 x_3}.\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "# define the function\n",
    "def f_branin_2(x):\n",
    "    assert x.shape[1] == 4, 'The input should be 4 dimensional.'\n",
    "    return f_branin_1(x[:, :3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 49.06514680009739\n",
      "Number of Parameters : 6\n",
      "Number of Optimization Parameters : 6\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.         \u001b[0;0m  |  value  |  constraints  |  priors\n",
      "  \u001b[1mrbf.variance           \u001b[0;0m  |    1.0  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale        \u001b[0;0m  |   (4,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance\u001b[0;0m  |    1.0  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# Generate synthetic data\n",
    "N    = 40\n",
    "ndim = 4\n",
    "Xdata = pyDOE.lhs(ndim, N)\n",
    "\n",
    "# We will also be adding a little bit of noise to the observations\n",
    "sigma = 0.01\n",
    "Ydata = f_branin_2(Xdata)[:, None] + sigma * np.random.randn(N, 1)\n",
    "\n",
    "k = GPy.kern.RBF(ndim, ARD=True) \n",
    "gp = GPy.models.GPRegression(Xdata, Ydata, k)\n",
    "print(gp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/20, f = -22.57861226023254\n",
      "Optimization restart 2/20, f = -22.57861222285895\n",
      "Optimization restart 3/20, f = -22.578612262166594\n",
      "Optimization restart 4/20, f = -22.578612257634774\n",
      "Optimization restart 5/20, f = -22.578612260834216\n",
      "Optimization restart 6/20, f = -22.57861419916483\n",
      "Optimization restart 7/20, f = -21.315800432039936\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/rohitkt10/anaconda3/lib/python3.6/site-packages/GPy/kern/src/stationary.py:243: RuntimeWarning:invalid value encountered in true_divide\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 8/20, f = -22.578612258479886\n",
      "Optimization restart 9/20, f = -22.31759317116801\n",
      "Optimization restart 10/20, f = -22.57861226506676\n",
      "Optimization restart 11/20, f = -22.578612258226087\n",
      "Optimization restart 12/20, f = -22.578612258765542\n",
      "Optimization restart 13/20, f = -22.578612261888978\n",
      "Optimization restart 14/20, f = -22.57861226312572\n",
      "Optimization restart 15/20, f = -22.578612258534744\n",
      "Optimization restart 16/20, f = -22.578348250381072\n",
      "Optimization restart 17/20, f = -22.57861225635984\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/rohitkt10/anaconda3/lib/python3.6/site-packages/GPy/kern/src/stationary.py:137: RuntimeWarning:overflow encountered in square\n",
      " /Users/rohitkt10/anaconda3/lib/python3.6/site-packages/GPy/kern/src/stationary.py:138: RuntimeWarning:invalid value encountered in add\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 18/20, f = -22.57861225419098\n",
      "Optimization restart 19/20, f = -22.578612256160877\n",
      "Optimization restart 20/20, f = -22.57861225913385\n",
      "  \u001b[1mindex\u001b[0;0m  |  GP_regression.rbf.lengthscale  |  constraints  |  priors\n",
      "  \u001b[1m[0]  \u001b[0;0m  |                     0.25601429  |      +ve      |        \n",
      "  \u001b[1m[1]  \u001b[0;0m  |                     1.22744823  |      +ve      |        \n",
      "  \u001b[1m[2]  \u001b[0;0m  |                    24.99073140  |      +ve      |        \n",
      "  \u001b[1m[3]  \u001b[0;0m  |                    69.50359820  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# train the GP\n",
    "gp.optimize_restarts(20, robust=True); # No messages shown here\n",
    "print(gp.rbf.lengthscale)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that $\\ell_4$ is much larger than $\\ell_3$, which itself is much larger than $\\ell_1$ and $\\ell_2$. \n",
    "The ARD training procedure discovers that the dependence of the function $f$ is very weak in the input $x_4$.\n",
    "\n",
    "Now let's make some predictions and compare it to the test observations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.03125451145689853\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ntest = 100\n",
    "Xtest = pyDOE.lhs(4, Ntest)\n",
    "Ytest = f_branin_2(Xtest)[:, None] \n",
    "Ytest_m, Ytest_v = gp.predict(Xtest, full_cov=False) \n",
    "error_m = np.sqrt( mean_squared_error(Ytest, Ytest_m) )\n",
    "\n",
    "fig = plt.figure(figsize = (10, 8))\n",
    "ax  = plt.subplot(111)\n",
    "\n",
    "_x = np.linspace( np.min(Ytest), np.max(Ytest), 100 )\n",
    "ax.plot(_x, _x, 'r--', label='$x=y$')\n",
    "ax.plot(Ytest, Ytest_m, 'o')\n",
    "ax.set_title('Predictions vs True test values', fontsize=15)\n",
    "ax.set_xlabel('Test labels', fontsize=15)\n",
    "ax.set_ylabel('Predictions', fontsize=15)\n",
    "ax.tick_params( labelsize=15 )\n",
    "\n",
    "fig.tight_layout()\n",
    "print(error_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Questions:\n",
    "\n",
    "+ What happens to the optimized lengthscales if you add more data? \n",
    "\n",
    "(.. add more questions ..)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Dealing with high input dimensionality "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In theory, the Gaussian process regression modeling approach discussed so far should work regardless of the dimensionality of $\\mathbf{x}$. Note that we have imposed no restrictions on the structure of $\\mathbf{x}$ - $\\mathbf{x}$ could be whatever we want it to be - audio/video/text/pictures/scalars/vectors/tensors etc etc.\n",
    "The ONLY requirement is that we specify a suitable Mercer kernel, $k(\\cdot, \\cdot)$.\n",
    "\n",
    "In practice training models on datasets with high-dimensional inputs and small-to-moderately sized datasets often leads to overfitting. \n",
    "\n",
    "To deal with the curse of dimensionality, the most straightforward approach is to perform a *principal component analysis* (PCA) of the input data and fitting your model between the projected inputs and the outputs. The PCA recovers directions in the input that capture most of the variance of the inputs. \n",
    "\n",
    "Here, we discuss a different, and more recent, approach to dimensionality reduction - namely the *active subspace*. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Active subspace \n",
    "\n",
    "Denote the unknown underlying function as $f(\\mathbf{x})$, where, $\\mathbf{x} \\in \\mathcal{X} \\subset \\mathbb{R}^{D}$.\n",
    "The inputs $\\mathbf{x}$ reside in a $D$-dimensional vector space where $D$ is reasonably large (think order of 10 or 100). \n",
    "In uncertainty quantification tasks $\\mathbf{x}$ represents stochastic input parameters equipped with a suitable probability density $p(\\mathbf{x})$.\n",
    "\n",
    "Assume that we have access to the gradients of the function $\\nabla_\\x f(\\x)$. \n",
    "\n",
    "**Main idea**: The key idea of active subspaces is to look for directions in the space of the function gradient that captures maximal variation in the quantity of interest. \n",
    "\n",
    "We begin by constructing the following second moment matrix:\n",
    "$$\n",
    "C = \\int \\nabla_\\x f(\\x) \\nabla_\\x f(\\x)^T p(\\x) \\mathrm{d}\\x.\n",
    "$$\n",
    "\n",
    "Since this expectation cannot be evaluated in closed form, we form a Monte Carlo approximation of the matrix $C$:\n",
    "$$\n",
    "C \\approx \\hat{C} = \\frac{1}{N} \\sum_{i=1}^{M} \\nabla_{\\x} f(\\x^{(i)}) \\nabla_{\\x} f(\\x^{(i)})^T.\n",
    "$$\n",
    "\n",
    "The above approximation is constructed by sampling $\\x^{(i)}$ from the density $p(\\x)$.\n",
    "\n",
    "Once we have the matrix $\\hat{C}$, we compute it's spectral decomposition:\n",
    "$$\n",
    "\\hat{C} = \\mathbf{W} \\Lambda \\mathbf{W}^T.\n",
    "$$\n",
    "\n",
    "Since the matrix $\\hat{C}$ is a real, symmetric matrix, the matrix of eigenvectors $\\mathbf{W}$ form an orthogonal basis spanning $\\mathbb{R}^D$. $\\Lambda = \\mathrm{diag}()\\lambda_1, \\lambda_2, \\dots, \\lambda_D$ is a $D \\times D$ diagonal matrix of eigenvalues corresponding to the eigenvectors in $\\mathbf{W}$. The eigenvalue $\\lambda_i$ quantifies the variation of $f$ along the $i^{th}$ eigenvector, i.e., \n",
    "$$\n",
    "\\lambda_i = \\int \\left(  \\mathbf{W}_{:i}^{T} \\nabla_\\x f(\\x)   \\right)^2 p(\\x)  \\mathrm{d}\\x\n",
    "$$\n",
    "\n",
    "For proof of the above statement refer to [this paper](https://epubs.siam.org/doi/pdf/10.1137/130916138).\n",
    "\n",
    "Based on the above proposition we partition the matrices $\\mathbf{W}$ and $\\Lambda$ into:\n",
    "$$\n",
    "\\mathbf{W} = \\left[ \\mathbf{W}_1 \\ \\  \\mathbf{W}_2   \\right], \\Lambda = \\left[ \\Lambda_1 \\ \\  \\Lambda_2 \\right],\n",
    "$$\n",
    "where, $\\Lambda_1$ represents the first $d$ eigenvalues arranged in descending order, such that the corresponding eigenvectors $\\mathbf{W}_1$ represent directions that capture most of the variation of $f$.  \n",
    "\n",
    "The *active subspace* is defined as the linear subspace spanned by the columns of the matrix $W_1$.\n",
    "Since $\\W$ is orthogonal, \n",
    "any $\\x \\in \\R^D$ can be written as $\\x = \\W \\W^T \\x = (\\W_1 \\W_{1}^{T} + \\W_2 \\W_{2}^{T})\\x = \\W_1 \\W_{1}^{T} \\x + \\W_2 \\W_{2}^{T})\\x = \\W_1\\y + \\W_2\\z$, where, $\\y = \\W_{1}^{T} \\x$ and $\\z = \\W_{2}^{T} \\x$ are called the *active* and *inactive* variables. \n",
    "\n",
    "Since the eigenvalues capture the average variation of $f$ with respect to the active and inactive variables, we have:\n",
    "$ \\int \\nabla_{\\y} f(\\x)^T \\nabla_\\y f(\\x) p(\\x) \\mathrm{d}\\x = \\sum_{i=1}^{d} \\lambda_i$ and $ \\int \\nabla_{\\z} f(\\x)^T \\nabla_\\z f(\\x) p(\\x) \\mathrm{d}\\x = \\sum_{i=d+1}^{D} \\lambda_i$. \n",
    "\n",
    "If $\\sum_{i=d+1}^{D} \\lambda_i$ is small, the function $f(\\x)$ may be approximated as:\n",
    "$$\n",
    "f(\\x) \\approx g(\\y) =\\ g(\\W_{1}^{T}\\x),\n",
    "$$\n",
    "where, $g:\\R^d \\rightarrow \\R$ is a generic $d$-variate function. \n",
    "\n",
    "\n",
    "If we have access to the gradient $\\nabla_\\x f(\\cdot)$, and if there exists an exploitable *active subspace*, the task of constructing the $D$-variate function can be simplified into the task of fitting a $d$-variate function where $d \\ll D$, thus enabling us to beat the *curse of dimensionality*.\n",
    "\n",
    "To summarize, our approximation will be of the form:\n",
    "$$\n",
    "f(\\x) \\approx \\hat{f}(\\x) = g(\\y) = g(\\W^T \\x),\n",
    "$$\n",
    "where $\\W \\in \\R^{D \\times d}$ is the active subspace projection matrix, such that $\\W^T \\W = I_{d}$, $I_d$ being the $d \\times d$ identity matrix. $g$ is set to be a Gaussian process in $d$ dimensions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Active subspace without access to gradients\n",
    "\n",
    "We discussed in the previous section the notion of an *active subspace* - an expoitable low dimensional structure that is recoverable from information about the gradients of the unknown function $f$. \n",
    "If we have access to the gradients and if such an *active subspace* exists, we can circumvent the curse of dimensionality involved in fitting the $D$-variate function, by transforming it into a problem of fitting a $d$-variate function, where, $d \\ll D$. \n",
    "\n",
    "Unfortunately, in most realistic scenarios, we do not have access to the gradients $\\nabla_x f(\\cdot)$. In realistic situations, $f$ is a complex, numerical simulator for a physical problem, which, for all practical purposes, has to be treated as a black box - we can sample $\\x$s from a probability distribution $p(\\x)$ and obtain information about $f$ by running our simulations/experiments at these sample locations, but we cannot realistically expect much else - such as obtain a closed form expression of $\\nabla_x f$. \n",
    "\n",
    "Can we approximate the gradients? Sure. We could use a basic finite difference scheme to obtain evaluations of $\\nabla_x f$ but this incurs a lot of addition computational cost.\n",
    "\n",
    "Recall, from the previous section, that we are looking for an approximation of the form:\n",
    "$$\n",
    "\\hat{f}(\\x) = g(\\W^T \\x),\n",
    "$$\n",
    "where, $\\W$ is a *tall-and-skinny* matrix of orthonormal columns. We do not have access to the gradients $\\nabla_\\x f$ of the underlying function, but we do have access to a dataset of input-output observations $\\mathcal{D} = \\{\\x^{(i)}, y^{(i)} \\}_{i=1}^{N}$.\n",
    "\n",
    "Instead of learning a Gaussian process regression map between $\\x$ and $y$ directly, which is difficult, we will attempt to project the inputs to the active subspace variables $\\y = \\W^T \\x$, by embedding the matrix $\\W$ directly into the covariance kernel of the Gaussian process. \n",
    "\n",
    "Specifically, we define a covariance kernel of the form:\n",
    "$$\n",
    "k(\\x, \\x') = k_0 (\\y, \\y') = k_0(\\W^T \\x, \\W^T \\x'), \n",
    "$$\n",
    "where, $k_0 (\\cdot, \\cdot)$ is any standard kernel function. The projection matrix $\\W$ is now subsumed into this modified covariance kernel as a new hyperparameter which is learned directly from the available input-output data through the usual process of learning GPR hyperparameters. Particularly, when optimizing the hyperparameters of the kernel through maximum likelihood, the orthonormality constraints of the matrix $\\W$ have to be enforced, i.e., we solve the problem:\n",
    "$$\n",
    "\\W^*, \\boldsymbol{\\theta}^* = \\underset{\\boldsymbol{\\theta},\\W, \\text{s.t.} \\W^T \\W = I_d}{\\mathrm{argmax}} \\mathcal{L}(\\W, \\boldsymbol{\\theta}; \\mathcal{D}).\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A relaxed version of active subspace - ridge functions\n",
    "\n",
    "The optimization problem posed in the previous section, for learning the active subspace projection directly from input-output data is a challenging problem owing to the need for maintain orthogonality constraints. Various papers in the literature tackle this problem with reasonable success on a variety of applications; see for instance [this](https://www.sciencedirect.com/science/article/pii/S002199911630184X), [this](https://epubs.siam.org/doi/pdf/10.1137/18M1168571) and [this](https://arxiv.org/pdf/1702.05859.pdf) paper.\n",
    "\n",
    "Here we will relax the orthogonality requirement on $\\W$, i.e., we will learn a Gaussian process model with a low-rank covariance kernel of the form:\n",
    "$$\n",
    "k(\\x, \\x') = k_0 (\\W^T \\x, \\W^T \\x'),\n",
    "$$\n",
    "where, $\\W \\in \\R^{D \\times d}$ is an unconstrained tall-and-skinny matrix.\n",
    "\n",
    "A `GPy` implementation of such a kernel is provided below.\n",
    "\n",
    "The kernel function $k$, as defined above, puts a prior over the space of functions of the form:\n",
    "$$\n",
    "f(\\x) = g(\\W^T \\x).\n",
    "$$\n",
    "Such functions are commonly known as *ridge functions*."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "class ProjectionKernel(Kern):\n",
    "    \"\"\"\n",
    "    A new kernel created by wrapping around an existing \n",
    "    base kernel $k_0$, operating on the space of projectd inputs z=Ax:\n",
    "    \n",
    "    k(x, x') = k_0(Ax, Ax').\n",
    "    \n",
    "    \"\"\"\n",
    "    @property\n",
    "    def base_kernel(self):\n",
    "        return self._base_kernel\n",
    "\n",
    "    def __init__(self, input_dim, base_kernel, name='ProjectionKernel'):\n",
    "        super(ProjectionKernel, self).__init__(input_dim, None, name)\n",
    "        lr_dim = base_kernel.input_dim\n",
    "        assert lr_dim < input_dim, 'The subspace dimension has to be lower than the input dimension.'\n",
    "        self._base_kernel = base_kernel\n",
    "        self.A = scipy.linalg.orth(np.random.randn(input_dim, lr_dim))\n",
    "        self.A = Param('A', self.A)\n",
    "        self.link_parameters(self.A, self.base_kernel)\n",
    "    \n",
    "    def _T(self, X):\n",
    "        if isinstance(X, np.ndarray):\n",
    "            return np.dot(X, self.A)\n",
    "        else:\n",
    "            return None\n",
    "    \n",
    "    def K(self, X, X2=None):\n",
    "        return self.base_kernel.K(self._T(X), self._T(X2))\n",
    "    \n",
    "    def Kdiag(self, X):\n",
    "        return self.base_kernel.Kdiag(self._T(X))\n",
    "    \n",
    "    def update_gradients_full(self, dL_dK, X, X2=None):\n",
    "        assert X2 is None\n",
    "        Z = self._T(X)\n",
    "        self.base_kernel.update_gradients_full(dL_dK, Z)  # this computes the gradient of the loss wrt basekern parameters\n",
    "        dL_dZ = self.base_kernel.gradients_X(dL_dK, Z)   # this computes the gradient of the loss wrt Z \n",
    "        self.A.gradient = np.einsum('ij,ik->kj', dL_dZ, X)  # gradient of the loss wrt projection matrix A"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Constructing ridge function approximation with GPs\n",
    "\n",
    "We will now demonstrate the application of the above in a simple toy example. Specifically, we will consider a trigonometric function in 2 dimensions with a known ridge function structure:\n",
    "$$\n",
    "f(\\x) = g(\\W^T \\x),\n",
    "$$\n",
    "where, $g(y) = \\sin (2 \\pi y)$ is a univariate function, $\\W = \\left[\\frac{1}{\\sqrt{2}}, \\frac{1}{\\sqrt{2}} \\right] \\in \\R^{2 \\times 1}$ and $\\x \\sim \\mathcal{N}(0, I_2)$.\n",
    "\n",
    "Note that, *if* an underlying ridge structure exists, attempting to learn the matrix $\\W$ through a GP approach is susceptible to arbitrary rescaling of the *active variable* coordinate system."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "Wtrue = np.array([1./np.sqrt(2), 1./np.sqrt(2)])[:, None]   # true projection matrix \n",
    "\n",
    "# define the underlying function\n",
    "f = lambda x : np.sin(2. * np.pi * np.dot(x, Wtrue))   # true function in 2 dimensions \n",
    "\n",
    "\n",
    "# collect some data and add some noise\n",
    "N = 20\n",
    "D = 2\n",
    "d = 1\n",
    "noise_var = 0.\n",
    "X = np.random.randn(N, D)\n",
    "Y = f(X) \n",
    "Y += np.sqrt(noise_var)*np.random.randn(N, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/20, f = 22.006371836088945\n",
      "Optimization restart 2/20, f = 22.006371836115846\n",
      "Optimization restart 3/20, f = 14.341561209531942\n",
      "Optimization restart 4/20, f = -31.497156218489287\n",
      "Optimization restart 5/20, f = 22.006371836118127\n",
      "Optimization restart 6/20, f = 22.006371836126217\n",
      "Optimization restart 7/20, f = 22.006371836103057\n",
      "Optimization restart 8/20, f = 14.341560856462822\n",
      "Optimization restart 9/20, f = 16.263498442439598\n",
      "Optimization restart 10/20, f = -31.558627006806468\n",
      "Optimization restart 11/20, f = 14.341560541535083\n",
      "Optimization restart 12/20, f = 22.00637183622716\n",
      "Optimization restart 13/20, f = -31.55861073724705\n",
      "Optimization restart 14/20, f = 14.341560864553852\n",
      "Optimization restart 15/20, f = 14.341560774357989\n",
      "Optimization restart 16/20, f = 22.006371836131986\n",
      "Optimization restart 17/20, f = 22.006371836102197\n",
      "Optimization restart 18/20, f = 22.006371836151537\n",
      "Optimization restart 19/20, f = 16.263489102882637\n",
      "Optimization restart 20/20, f = 22.00637183612657\n"
     ]
    }
   ],
   "source": [
    "### train a GP model\n",
    "kbase = GPy.kern.RBF(1)  # define the base kernel\n",
    "k = ProjectionKernel(D, kbase)  # overall kernel with built-in low rank projection\n",
    "m = GPy.models.GPRegression(X, Y, k)\n",
    "_ = m.optimize_restarts(20, robust=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : -31.558627006806468\n",
      "Number of Parameters : 5\n",
      "Number of Optimization Parameters : 5\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.                  \u001b[0;0m  |                   value  |  constraints  |  priors\n",
      "  \u001b[1mProjectionKernel.A              \u001b[0;0m  |                  (2, 1)  |               |        \n",
      "  \u001b[1mProjectionKernel.rbf.variance   \u001b[0;0m  |       8.749835763351568  |      +ve      |        \n",
      "  \u001b[1mProjectionKernel.rbf.lengthscale\u001b[0;0m  |      16.128360193629497  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance         \u001b[0;0m  |  1.4477010182110233e-15  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x135405d68>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## test the predictions \n",
    "\n",
    "# generate some test examples \n",
    "Znew = np.linspace(-2, 2, 50)[:, None]\n",
    "Xnew = np.dot(Znew, Wtrue.T)\n",
    "Ytrue = f(Xnew)\n",
    "Wpred = m.kern.A.values \n",
    "Zpred = np.dot(Xnew, Wpred)\n",
    "Ypred = m.predict(Xnew)[0]\n",
    "\n",
    "# plot\n",
    "plt.figure(figsize=(8, 6))\n",
    "plt.plot(Ytrue, Ypred, '.', markersize=10, label='Predicted vs Observed')\n",
    "_x = np.linspace(np.min(Ytrue), np.max(Ytrue), 50)\n",
    "plt.plot(_x, _x, 'r--', label='$x=y$')\n",
    "plt.xlabel('True function values')\n",
    "plt.ylabel('GPR prediction')\n",
    "plt.legend(loc='best', fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Activity/Questions\n",
    "\n",
    "+ Experiment with the noise and dataset size and observe how the quality of the predictions change - play around with  the `noise_var` and `N` variables defined above, to do this.\n",
    "\n",
    "+ Show that the active variable coordinate system has been rescaled, i.e., show that the projection matrix learned by maximizing the GP likelihood is *approximately* a scalar multiple of the true projection matrix. \n",
    "\n",
    "+ Can you think of a better way to initialize the projection matrix $\\W$? Does it matter? "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Real world engineering example - HyShot II Scramjet model "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's go over a practical example of high-dimensional surrogate modeling in UQ context. We will look at the application discussed [in this paper](https://www.sciencedirect.com/science/article/pii/S002199911500580X?via%3Dihub) by Constantine et al., on quantifying uncertainty in the simulation of a scramjet. \n",
    "\n",
    "The goal of the simulations are to characterize reaction flow in a hypersonic scramjet engine. The simulation code takes in 7 input parameters - the *angle of attack*, *turbulence intensity*, *turbulence lengthscale*, *stagnation pressure*, *stagnation enthalpy*, *cowl transition location* and *ramp transition location*. \n",
    "\n",
    "The objective of the UQ analysis is to propagate uncertainty in these input parameters to the quantity of interest - the volume average of the pressure over the cylinder end. \n",
    "\n",
    "Due to the high computational cost associated with the simulation, the only 16 runs of the simulation could be afforded. To enable Monte Carlo-based uncertainty quantification, the researchers attempt to construct a surrogate that maps the vector of these input parameters to the output quantity of interest with this limited dataset. \n",
    "\n",
    "#### Technical summary:\n",
    "\n",
    "Abstracting away the details of the physical problem, here is the model we wish to learn. We have a dataset $\\mathcal{D} = \\{  \\x^{(i)}, y^{(i)} \\}_{i=1}^{16}$, where $\\x \\in \\R^{7}$, and we wish to approximate the map $f:\\R^7 \\rightarrow \\R$ which maps the input parameters to the output quantity of interest. \n",
    "\n",
    "In the paper linked above, the authors use the classical formulation of the active subspace (with orthogonal columns). Here we will use our relaxed version of the active subspace and learn a suitable ridge approximation for $f$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Run</th>\n",
       "      <th>AoA</th>\n",
       "      <th>Turb int</th>\n",
       "      <th>Turb len</th>\n",
       "      <th>Stag pres</th>\n",
       "      <th>Stag enth</th>\n",
       "      <th>Cowl trans</th>\n",
       "      <th>Ramp trans</th>\n",
       "      <th>Exit press 0.30</th>\n",
       "      <th>Exit press 0.35</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.085354</td>\n",
       "      <td>1.801645</td>\n",
       "      <td>191.025533</td>\n",
       "      <td>1.745938e+07</td>\n",
       "      <td>3.082492e+06</td>\n",
       "      <td>0.042545</td>\n",
       "      <td>0.177877</td>\n",
       "      <td>2.668523</td>\n",
       "      <td>3.055668</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.0</td>\n",
       "      <td>3.826332</td>\n",
       "      <td>0.782859</td>\n",
       "      <td>173.020087</td>\n",
       "      <td>1.860968e+07</td>\n",
       "      <td>3.155262e+06</td>\n",
       "      <td>0.033487</td>\n",
       "      <td>0.089838</td>\n",
       "      <td>2.523197</td>\n",
       "      <td>2.825297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.0</td>\n",
       "      <td>4.155663</td>\n",
       "      <td>1.808725</td>\n",
       "      <td>347.468415</td>\n",
       "      <td>1.700036e+07</td>\n",
       "      <td>3.181476e+06</td>\n",
       "      <td>0.065657</td>\n",
       "      <td>0.140569</td>\n",
       "      <td>2.599225</td>\n",
       "      <td>2.951357</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Run       AoA  Turb int    Turb len     Stag pres     Stag enth  \\\n",
       "0  1.0  4.085354  1.801645  191.025533  1.745938e+07  3.082492e+06   \n",
       "1  2.0  3.826332  0.782859  173.020087  1.860968e+07  3.155262e+06   \n",
       "2  3.0  4.155663  1.808725  347.468415  1.700036e+07  3.181476e+06   \n",
       "\n",
       "   Cowl trans  Ramp trans  Exit press 0.30  Exit press 0.35  \n",
       "0    0.042545    0.177877         2.668523         3.055668  \n",
       "1    0.033487    0.089838         2.523197         2.825297  \n",
       "2    0.065657    0.140569         2.599225         2.951357  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### example\n",
    "\n",
    "# download some data \n",
    "data_url = 'https://raw.githubusercontent.com/paulcon/as-data-sets/master/HyShotII/HyShotII35.txt'\n",
    "fname = 'data.txt'\n",
    "if not os.path.exists(fname):\n",
    "    wget.download(data_url, fname)\n",
    "data = pd.read_csv(fname)\n",
    "input_names = data.columns[1:8]\n",
    "qois = data.columns[8:]\n",
    "data.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "# get X, Y data \n",
    "X = data.iloc[:, 1:-2].values\n",
    "Y = data.iloc[:, -2].values[:, None]\n",
    "X, Y = shuffle(X, Y)\n",
    "Xt, Yt, Xtest, Ytest = X[:10], Y[:10], X[10:], Y[10:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  \u001b[1mProjectionKernel.\u001b[0;0m  |   value  |  constraints  |  priors\n",
      "  \u001b[1mA                \u001b[0;0m  |  (7, 2)  |               |        \n",
      "  \u001b[1mrbf.variance     \u001b[0;0m  |     1.0  |      +ve      |        \n",
      "  \u001b[1mrbf.lengthscale  \u001b[0;0m  |    (2,)  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# define kernel \n",
    "d = 2\n",
    "D = X.shape[1]\n",
    "base_kern = GPy.kern.RBF(d, ARD=True)\n",
    "k = ProjectionKernel(D, base_kern)\n",
    "print(k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Name : GP regression\n",
      "Objective : 41.991103409150114\n",
      "Number of Parameters : 18\n",
      "Number of Optimization Parameters : 18\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.                  \u001b[0;0m  |   value  |  constraints  |  priors\n",
      "  \u001b[1mProjectionKernel.A              \u001b[0;0m  |  (7, 2)  |               |        \n",
      "  \u001b[1mProjectionKernel.rbf.variance   \u001b[0;0m  |     1.0  |      +ve      |        \n",
      "  \u001b[1mProjectionKernel.rbf.lengthscale\u001b[0;0m  |    (2,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance         \u001b[0;0m  |     1.0  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "# define a model \n",
    "m = GPy.models.GPRegression(X, Y, k)\n",
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/20, f = 36.25176490924528\n",
      "Optimization restart 2/20, f = 26.525242284608524\n",
      "Optimization restart 3/20, f = 36.25176695097021\n",
      "Optimization restart 4/20, f = 36.25176695097038\n",
      "Optimization restart 5/20, f = 36.251766950980226\n",
      "Optimization restart 6/20, f = 36.251766951037425\n",
      "Optimization restart 7/20, f = 26.52524297292156\n",
      "Optimization restart 8/20, f = 36.25176695097018\n",
      "Optimization restart 9/20, f = 36.25176695107686\n",
      "Optimization restart 10/20, f = 36.2517669425209\n",
      "Optimization restart 11/20, f = 36.25176695097167\n",
      "Optimization restart 12/20, f = 36.25176695090141\n",
      "Optimization restart 13/20, f = 36.25176695097019\n",
      "Optimization restart 14/20, f = 36.251766951132\n",
      "Optimization restart 15/20, f = 36.25176695097028\n",
      "Optimization restart 16/20, f = 36.25176695097093\n",
      "Optimization restart 17/20, f = 36.25176695099992\n",
      "Optimization restart 18/20, f = 36.25176695097031\n",
      "Optimization restart 19/20, f = 36.18396536284463\n",
      "Optimization restart 20/20, f = 36.25176695097054\n",
      "\n",
      "Name : GP regression\n",
      "Objective : 26.525242284608524\n",
      "Number of Parameters : 18\n",
      "Number of Optimization Parameters : 18\n",
      "Updates : True\n",
      "Parameters:\n",
      "  \u001b[1mGP_regression.                  \u001b[0;0m  |                   value  |  constraints  |  priors\n",
      "  \u001b[1mProjectionKernel.A              \u001b[0;0m  |                  (7, 2)  |               |        \n",
      "  \u001b[1mProjectionKernel.rbf.variance   \u001b[0;0m  |       5.801612985543789  |      +ve      |        \n",
      "  \u001b[1mProjectionKernel.rbf.lengthscale\u001b[0;0m  |                    (2,)  |      +ve      |        \n",
      "  \u001b[1mGaussian_noise.variance         \u001b[0;0m  |  1.3256479956674386e-15  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "_ = m.optimize_restarts(20, robust=True)\n",
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x134f2d8d0>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(np.min(Ytest), np.max(Ytest), 50)\n",
    "plt.figure(figsize=(8, 5))\n",
    "plt.plot(x, x, 'r--', label='$x=y$', linewidth=3)\n",
    "Ypred = m.predict(Xtest)[0]\n",
    "l2error = np.linalg.norm(Ypred-Ytest)\n",
    "plt.plot(Ypred, Ytest, '.', markersize=12)\n",
    "plt.xlabel('Prediction', fontsize=15)\n",
    "plt.ylabel('True value', fontsize=15)\n",
    "plt.legend(loc='best', fontsize=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  \u001b[1mindex\u001b[0;0m  |  GP_regression.ProjectionKernel.rbf.lengthscale  |  constraints  |  priors\n",
      "  \u001b[1m[0]  \u001b[0;0m  |                                     14.68688799  |      +ve      |        \n",
      "  \u001b[1m[1]  \u001b[0;0m  |                                      8.77799181  |      +ve      |        \n"
     ]
    }
   ],
   "source": [
    "print(k.base_kernel.lengthscale)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Questions/Activity\n",
    "\n",
    "+ Notice above that when we set the dimensionality of the subspace to $d=2$, the lengthscale along the second dimension is much larger relative to the lengthscale along the first dimension. What does this suggest about the structure of $f$?\n",
    "\n",
    "+ Here, we have handpicked the dimensionality of the active variable. Think of systematic approaches to find the correct $d$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### High-dimensional model representation (HDMR)\n",
    "\n",
    "So far, we have discussed *active subspaces* and *ridge function* approximations to deal with the curse of dimensionality in high-dimensional function approximation. We will wrap up this handout with a brief discussion of a different type of structure for high-dimensional functions known as *high dimensional model representation* or HDMR. \n",
    "\n",
    "HDMR emerged as a popular technique for data-efficient high-dimensional function approximation in the chemometrics community in the early 2000s. The seminal work on this topic is [this paper](https://www.cs.princeton.edu/picasso/seminarsF04/Li_2001.pdf). \n",
    "\n",
    "The core idea behind HDMR is that one can decompose the unknown function $f$ into the following form:\n",
    "$$\n",
    "f(\\x) = f_0 + \\sum_{i=1}^{D} f_i(\\x_i) + \\sum_{i=1, j>i}^{i,j = D} f_{ij}(\\x_i, \\x_j) + \\dots + f_{12\\dots D} (\\x),\n",
    "$$\n",
    "where,$f_0$ is the mean response of the function, the $f_i$s are univariate functions depending only on the $i^{th}$ components of the input vector $\\x$ and capture the contribution of individual input directions to the variance of $f$, the $f_{ij}$s depend only on $i$th and $j$th components of $\\x$ and capture 2nd order interaction effects between all possible pairs of input directions, and so on. \n",
    "\n",
    "The classical formulation of HDMR imposes 2 further constraints on the component functions $f_i$s, $f_ij$s etc.:\n",
    "\n",
    "1. The individual component functions should integrate to zero over the domain of interest, i.e.,  $\\int f_{i_1 i_2 \\dots i_k} (\\x_{i_1}, \\x_{i_2}, \\dots, \\x_{i_k}) \\mathrm{d}\\x_{i_1} \\mathrm{d}\\x_{i_2} \\dots \\mathrm{d}\\x_{i_k} = 0$ for any combination of $k$ directions $(i_1, i_2, \\dots, i_k)$, with $k \\le D$.\n",
    "\n",
    "2. The component functions $f_i$s, $f_{ij}$s etc. are mutually orthogonal,i.e., given 2 sets of component function indices $s_1 = \\{i_1, i_2, \\dots, i_{k_1} \\}$ and $s_2 = \\{ i_1, i_2, \\dots, i_{k_2} \\}$, $k_1, k_2 \\le D$, the component functions, $f_{s_1}$ and $f_{s_2}$ satisfy:\n",
    "$$\n",
    "\\int f_{s_1}(\\x) f_{s_2} (\\x) \\mathrm{d}\\x = \\delta_{s_1 s_2},\n",
    "$$\n",
    "where $\\delta_{s_1 s_2}$ is the Kronecker delta function which is 1 if all components in the index set $s_1$ and $s_2$ match and zero otherwise. \n",
    "\n",
    "Constraints (1) and (2) lead to a neat intepretation of the HDMR structure - the variance of the function $f$ decomposes into the sum of the variances of the individual component functions, i.e., if $\\mathbb{V}[f(\\x)] = \\sigma^{2}$, then:\n",
    "$$\n",
    "\\sigma^{2} = \\sum_{i=1}^{D} \\sigma_{i}^{2} + \\sum_{i=1,j > i}^{i, j = D} \\sigma_{ij}^{2} + \\dots \n",
    "$$\n",
    "\n",
    "This is straightforward to prove and we leave it as an exercise to the reader.\n",
    "\n",
    "Practical applications of the HDMR approach to high-dimensional function approximation have shown to exhibit fast convergence, typically requiring HDMR expansions capturing upto 2nd order interaction effects."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### High-dimensional model representation (HDMR) with Gaussian processes\n",
    "\n",
    "We will leverage the additive structure of HDMR and use learn it through Gaussian processes. In doing so, we will relax the constraints (1) and (2) and simply learn a generalized HDMR structure.\n",
    "What this means is that we want to train our model to learn a function that possess the following structure:\n",
    "$$\n",
    "f(\\x) = f_0 + \\sum_{i=1}^{D} f_i (\\x_i) + \\sum_{i=1,j>i}^{i, j = D} f_{ij} (\\x_i, \\y_j)\n",
    "$$\n",
    "\n",
    "Note that we will restrict ourselves to 2nd order interaction effects. As our example function, we will use the modified 3 dimensional Barnin-Hoo function defined earlier in the handout. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the function\n",
    "def f_branin_1(x):\n",
    "    \"\"\"\n",
    "    Input must be 2D array of size N x 2.\n",
    "    \"\"\"\n",
    "    return (1.0 / 51.95 * ((15.0 * x[:, 1] - 5.1 * (15.0 * x[:, 0]) ** 2 / 4.0 / np.pi ** 2 + \n",
    "                          75.0 * x[:, 0] / np.pi - 6.0) ** 2\n",
    "                         + (10.0 - 10.0 / 8.0 / np.pi) * np.cos(15.0 * x[:, 0]) - 44.81)) + (0.1*x[:, 2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To learn function that have the HDMR structure, we need to place a prior over the space of all such functions. To do this, we simply define our covariance kernel as follows:\n",
    "$$\n",
    "k(\\x, \\x') = \\sum_{i=1}^{D} k_i (\\x_i, \\x_{i}^{'}) + \\sum_{i=1, j>i}^{i, j = D} k_{ij}(\\x_{ij}, \\x_{ij}^{'}).\n",
    "$$\n",
    "\n",
    "We further decompose the kernel acting on the input pairs $\\x_i$ and $\\x_j$ as the product of the base kernels in the $i$ and $j$ directions, i.e., $k_{ij}(\\x_{ij}, \\x_{ij}^{'}) = k_i(\\x_i, \\x_{i}^{'}) k_i(\\x_j, \\x_{j}^{'})$. \n",
    "\n",
    "This is easy to accomplish practically. All need to do is to define a set of kernels for each component direction, i.e., the $k_i$s and add and multiply them appropriately. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# define base kernels \n",
    "D = 3\n",
    "k_is = [GPy.kern.RBF(1, active_dims=[i]) for i in range(D)]\n",
    "#for k in k_is:\n",
    "#    k.variance.constrain_fixed()\n",
    "\n",
    "# define the kernel for first order effects \n",
    "k_first = GPy.kern.src.add.Add(k_is)\n",
    "\n",
    "# define the 2nd order interaction component kernels\n",
    "k_seconds = [k_is[i] * k_is[j] for i in range(D) for j in range(i+1, D)]\n",
    "k_second = GPy.kern.src.add.Add(k_seconds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's generate some data and train the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 1/20, f = -37.46949959012113\n",
      "Optimization restart 2/20, f = -48.386695926714324\n",
      "Optimization restart 3/20, f = -37.469500695200495\n",
      "Optimization restart 4/20, f = -37.551343626915866\n",
      "Optimization restart 5/20, f = -37.55102504753363\n",
      "Optimization restart 6/20, f = -37.551327841753974\n",
      "Optimization restart 7/20, f = -48.24810774954777\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " /Users/rohitkt10/anaconda3/lib/python3.6/site-packages/GPy/kern/src/rbf.py:53: RuntimeWarning:overflow encountered in square\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization restart 8/20, f = -48.26285221197389\n",
      "Optimization restart 9/20, f = -37.55098442653562\n",
      "Optimization restart 10/20, f = -37.46949779637791\n",
      "Optimization restart 11/20, f = -48.69365626468628\n",
      "Optimization restart 12/20, f = -37.5512364517695\n",
      "Optimization restart 13/20, f = -46.50125159357523\n",
      "Optimization restart 14/20, f = -37.550952629450535\n",
      "Optimization restart 15/20, f = -48.34764322477777\n",
      "Optimization restart 16/20, f = -37.55075981553962\n",
      "Optimization restart 17/20, f = -46.49618453313957\n",
      "Optimization restart 18/20, f = -37.551293775392736\n",
      "Optimization restart 19/20, f = -30.780643476709628\n",
      "Optimization restart 20/20, f = -37.468768161260726\n"
     ]
    }
   ],
   "source": [
    "# Generate synthetic data\n",
    "N    = 40\n",
    "X = pyDOE.lhs(D, N)\n",
    "\n",
    "# We will also be adding a little bit of noise to the observations\n",
    "sigma = 0.01\n",
    "Y = f_branin_1(X)[:, None] + sigma * np.random.randn(N, 1)\n",
    "\n",
    "k = k_first + k_second\n",
    "gp = GPy.models.GPRegression(X, Y, k)\n",
    "_ = gp.optimize_restarts(20, robust=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's test the predictions from this model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1356e75c0>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate some test data\n",
    "Ntest    = 50\n",
    "Xtest = pyDOE.lhs(D, Ntest)\n",
    "Ytrue = f_branin_1(Xtest)[:, None]\n",
    "Ypred = gp.predict(Xtest)[0]\n",
    "\n",
    "# plot\n",
    "plt.figure(figsize=(8, 6))\n",
    "plt.plot(Ytrue, Ypred, '.', markersize=10, label='Predicted vs Observed')\n",
    "_x = np.linspace(np.min(Ytrue), np.max(Ytrue), 50)\n",
    "plt.plot(_x, _x, 'r--', label='$x=y$')\n",
    "plt.xlabel('True function values')\n",
    "plt.ylabel('GPR prediction')\n",
    "plt.legend(loc='best', fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Questions/Activity\n",
    "\n",
    "In the above example, we showed you how to fit functions that possess the HDMR structure and applied to the 3 dimensional Branin-Hoo example. What happens if you only consider 1st order effects for this same problem? What happens if you include 3rd order effects?"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
